Method and apparatus for selective recording of television programs using event notifications

ABSTRACT

Improved enhanced TV programming provides the capability for event driven recording of TV programs and program segments. Recording a selected program segment of a digital TV program includes receiving a digital TV stream including the digital TV program, automatically starting recording of the selected program segment of the digital TV program when a first event notification is received, and automatically stopping recording of the selected program segment when a second event notification is received.

BACKGROUND

1. Field

The present invention relates generally to digital television and broadcast systems and, more specifically, to using event notifications for controlling the recording of digital television programs.

2. Description

The broadcasting industry is expanding into digital broadcast technologies that promise new features, higher resolution video and audio, and other technological enhancements. Digital television (DTV) broadcasting provides at least several advancements in broadcast content enhancement. One type of content enhancement is the addition of supplemental information to the regular broadcast transmission. Supplemental information can take many forms, such as Hypertext Markup Language (HMTL), meta-data, and other information carrying data structures. Enhanced or interactive television incorporates the supplemental information into the viewing experience through interactive displays, links to web pages on the Internet, and other features.

The Advanced Television Enhancement Forum (ATVEF) (www.atvef.org) is a cross-industry alliance of companies representing broadcast and cable networks, television transports, the consumer electronics industry, and the personal computer (PC) industry. ATVEF has defined protocols for HTML-based enhanced television, which allow content creators to deliver enhanced programming over all forms of transport (analog, digital, cable, Internet and satellite) to intelligent receivers. ATVEF has published the Enhanced Content Specification, version 1.1, revision 26, 1998-2000 (hereinafter referred to as the “ATVEF Specification”) to promote consistent methods for providing enhancements in both analog and digital broadcasting systems. The ATVEF Specification provides a standard for delivering interactive TV experiences that can be authored once using a variety of tools and deployed to a variety of TV, set top box, and PC-based receivers. The ATVEF Specification specifies content formats and delivery mechanisms for the transmission and processing of triggers, resources, announcements, and content that are associated with an enhanced TV transmission. Such enhancements are often suitable for use by a computer system (such as a PC), connected to the Internet or other network. For example, one type of supplemental information is a Universal Resource Locator (URL) to a TV network's web site where additional information relating to a TV program may be found. In one scenario for enhanced TV viewing, a viewer may watch a TV program and be notified of a related web site. The viewer may then obtain one or more web pages from the identified web site and display them either on the TV screen or on another display concurrently with viewing the TV program.

Recording of TV programs using analog means is widespread. Video cassette recorders (VCRs) are used by millions of people to record their favorite TV programs. Recently, devices for recording of TV programs using digital means have been introduced. These devices store selected TV programs on a storage medium such as a computer hard drive. Other TV recording technologies include products that automatically find, schedule and record favorite shows to a VCR. All of these devices, however, allow only time-driven recording. That is, the viewer typically sets the channel number, start time, and duration of the program (or end time), and the device records the program broadcast on the selected channel during a specified time period. Control over what is to be recorded is determined by the starting and ending times of the programs.

In contrast, it is desirable in some instances to automatically record only certain fragments or segments of interest in a program. For example, a viewer may want to record the weather forecast from the local news, or a movie without commercials, or scoring plays in a football game. Furthermore, in many cases, the viewer may not know exactly when the program segment is being broadcast. If the viewer sets up the recording of an entire program when only a portion of the program is of interest, video storage is wasted. Additionally, finding the segment of interest in the entire recorded program at a later point in time may be time consuming and difficult.

BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the present invention will become apparent from the following detailed description of the present invention in which:

FIG. 1 is a diagram of a system for recording program segments using event notifications according to an embodiment of the present invention; and

FIG. 2 is a flow diagram illustrating recording of program segments using event notifications according to an embodiment of the present invention.

DETAILED DESCRIPTION

An embodiment of the present invention provides the capability for event driven recording of digital TV programs. Viewers may select segments of programs to be recorded. A segment may be an entire program or any portion thereof. The program segments may be known as events of interest. When an event occurs during the broadcast of the program, an event notification may be embedded in the broadcast signal of the digital TV program. A receiver of the digital TV program may interpret the event notification and automatically start or stop recording of the program as desired. The recorded program thus contains only the desired content selected by the viewer. The selection of content to be recorded is thus event driven, not time driven as in prior art systems.

Reference in the specification to “one embodiment” or “an embodiment” of the present invention means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrase “in one embodiment” appearing in various places throughout the specification are not necessarily all referring to the same embodiment.

FIG. 1 is a diagram of a system for providing event notifications corresponding to program segments to be recorded according to an embodiment of the present invention. A television (TV) 10 may be coupled to a set top box 12 for receiving digital TV (DTV) broadcasts via a broadcast network 14. The set top box may be configured to receive digital broadcast TV signals via a broadcast network comprising an antenna, cable, satellite dish, a computer network (such as the Internet for example), or any other suitable transmission mechanism. In some embodiments, the set top box may be integral with the TV 10 or other associated consumer electronics or computer products.

Set top box 12 comprises ATVEF receiver 16. The receiver decodes and plays ATVEF content. Generally, the ATVEF receiver may be a software product being executed by a processor within the set top box, but may also comprise hardware circuitry within the set top box. In one embodiment, the ATVEF receiver processes the DTV broadcast signal to extract enhanced content in accordance with the ATVEF Specification. Extraction of enhanced content may comprise, at least in part, processing the received DTV signal to strip the received signal of triggers, execute a software script, segregate data or data structures, or other methods of separating data into groupings. Enhanced content extracted from a DTV broadcast signal may include a variety of enhanced TV resources such as ATVEF triggers to update information displayed on a visual display (such as the screen of TV 10 or another monitor), Universal Resource Locators (URLs), metadata, scripts, Java applets, HTML, web pages, images, or other useful data. The TV viewer may then interact with the enhanced content obtained from the set top box and TV to enrich the viewing experience. For example, enhanced TV broadcasts may use triggers and scripts to change the banners on web pages to tie in with a TV program or to change web pages being displayed on a portion of the TV screen or other monitor communicatively coupled with the TV or set top box.

In one embodiment, set top box 12 may also comprise a recorder (not shown). Recorder comprises a device or function for the recording, via either analog or digital means, of TV programs received by the set top box. Recorder may be embodied in software, hardware, or any combination of the two. Recording of TV programs by recorder may be accomplished by conventional, well known techniques. Set top box 12 determines, as a result of viewer interaction and reception of event notifications, which programs and program segments to record. The set top box may accordingly control the operation of recorder in recording programs. In other embodiments, the recorder may be integral with the TV or other computer or consumer electronics device communicatively coupled to the set top box.

Broadcast head-end 18 broadcasts the DTV signal to the set top box 12 over the broadcast network 14 using well known methods. The broadcast head-end accepts an enhanced TV stream 20 which may be reformatted by the broadcast head-end into the DTV signal broadcast over the broadcast network. The broadcast head-end may also be known as a transport operator. A transport operator runs a video delivery infrastructure that includes a transport for ATVEF data. The enhanced TV stream 20 may be created by a content creator (not shown). The content creator originates the content components of the enhancement including audio, video, graphics, layout, interaction and triggers. The content creator creates the enhanced TV stream to comprise the TV content 22 (e.g., one or more TV programs having at least audio and video portions) and zero or more ATVEF triggers 24. The content creator may be a broadcasting network, a TV production company, or other television programming entity. In one embodiment, the content creator may be the same entity as the entity operating the broadcast head-end or transport operator. As noted above, enhanced TV allows a content creator to integrate TV programs with relevant data enhancements. The ATVEF Specification provides content creators with a reliable definition of how to deliver enhanced programming over a variety of transport mechanisms to compliant receivers. Some embodiments of the present invention use the protocol defined by the ATVEF Specification to create program event notifications and deliver them to any intelligent and compliant receiver, such as set top box 12. In some embodiments, event notifications 26 may be data enhancements implemented as ATVEF packages and triggers that may be executed at the receivers (e.g., set top boxes and/or TVs). In other embodiments, event notifications may be embedded in a moving picture experts group (MPEG) data stream, or other data stream format or protocol.

ATVEF triggers are described in the ATVEF Specification in section 1.1.5. Triggers are real-time events delivered for an enhanced TV program. In one embodiment, a trigger may be included in a single Internet Protocol (IP) multicast packet delivered on the address and port defined in an announcement for an enhanced TV program. In another embodiment for analog TV, triggers may be transmitted on vertical blanking interval (VBI) line 21 of a National Television Standards Committee (NTSC) television signal. ATVEF Receiver 16 may set a policy for allowing users to turn on or turn off enhanced TV content, and can use a trigger arrival as a signal to notify users of enhanced content availability. Triggers may include a URL, and may optionally include a human-readable name, an expiration date, and a script. The ATVEF Receiver determines how to interpret triggers received from the broadcast head-end. In the present invention, the ATVEF Receiver may interpret a received trigger as an event notification of a program segment of interest being broadcast on a channel.

Portions of TV programs may be identified as segments, wherein the beginning and ending of a program segment may be events of interest. Content creators for TV programming may decide in advance which program segments constitute interesting events for a viewer. In one embodiment, a first event notification may signify the starting of a program segment and a second event notification may signify the ending of the program segment. Generally, selected individual portions of each TV program may be identified as separate discrete events to be registered for by a viewer. For example, in a news program, possible events may comprise presentation of the national news, the local news, the national weather report, the local weather report, sports scores, sports highlights, daily financial information, local human interest stories, and so on. In another example, in a sports program such as the broadcasting of a football game, possible events may comprise scoring plays, the two minute warning, plays gaining over 20 yards, long passes, interceptions, fumbles, and so on. In yet another example, in a drama program, possible events may comprise important scenes furthering the plot of the program. As can be appreciated, any portion of any TV program may be identified as an event of interest to a viewer. Each event may be assigned a globally unique identifier. Furthermore, the portion of the TV program may be pre-recorded, or may be part of a live broadcast. For a live broadcast, events occurring in real-time may be tagged or otherwise identified as they happen, either manually or automatically, by the broadcast head-end or content creator.

In one embodiment, viewers may subscribe or register for event notifications through a user interface available at the set top box. For example, the viewer may be presented with a list of events on the TV or other monitor for one or more selected programs on one or more selected channels of interest (e.g., show all news segment events of a local news program). In one embodiment, a dedicated TV channel may be used for advertising program events. The viewer may select this channel to view a list of events to register or subscribe to. In another embodiment, the events may be identified in printed form, such as in a daily newspaper, or a magazine, or a program guide, or in an electronic form such as an electronic program guide (EPG). The viewer may then select, using any suitable user interface communicatively coupled with the set top box, zero or more events. For example, the viewer may select events of interest using well-known user interface mechanisms such as using a TV remote control or a mouse. The selected events may be compiled and stored by the set top box as the set of registered events for a given viewer.

The set of events registered for by a viewer may occur on multiple channels. For example, a viewer may desire to register for ten different events, with two events potentially occurring in programs broadcast on channel 4, four events potentially occurring in programs broadcast on channel 11, one event potentially occurring in a program broadcast on channel 32, and three events potentially occurring in programs broadcast on channel 156.

When an event notification is received indicating the starting of a program segment selected by a viewer on a channel, the set top box may cause the recorder to tune to the channel and start recording the program segment. When an event notification is received indicating the ending of the program segment, the set top box may cause the recorder to stop recording the program segment broadcast on the channel. In this way, event notifications sent by the broadcast head-end may be used to control recording activity at the viewer's site.

There may be at least three transport mechanisms used in embodiments of the present invention for sending event notifications to a viewer. In one embodiment, the set top box or TV includes two tuners. One tuner may be used to receive the TV program currently being watched, while the second tuner is typically used for a value added service such as PIP. Instead of PIP however, in some embodiments of the present invention the second tuner tunes to a second broadcast channel that carries current event notifications sent from the broadcast head-end to the set top box. In another embodiment, the set top box or TV may include only one tuner (for receiving the TV program being watched), but the viewer also has one or more other devices (such as a PC, consumer electronics equipment, cell phone, personal digital assistant (PDA), and the like) having a connection to a communications network such as the Internet. In this case, an Internet protocol (IP) multicast channel may be used as a transport mechanism to deliver event notifications in ATVEF triggers to the viewer's site.

As shown in FIG. 1, the ATVEF triggers representing event notifications may be communicated in data packets through the Internet to a computer system 30 communicatively coupled to the set top box. Although represented as computer system 30 in FIG. 1, this device may be any computing device capable of receiving data over a network such as the Internet. In one embodiment, the set top box connects to the Internet for receiving the ATVEF triggers and a separate computer system is not used. In still another embodiment, the set top box or TV includes only one tuner and there is no network connection. In this case, event notifications may be sent on the same TV channel along with the primary program. This may require broadcasters to cooperate by providing bandwidth on their channels to other broadcast networks for carrying event notifications for a plurality of programs and channels. For DTV, the broadcast signal may include data packets having event notification data relating to events on other channels.

Although ATVEF and ATVEF triggers are discussed herein as a transport mechanism for conveying the event notifications to the viewer, the invention is not limited in scope in this respect. Any communications protocol, now known or developed in the future, that communicates the event notifications from the broadcast head-end to the set top box and/or TV in a timely manner may be employed.

FIG. 2 is a flow diagram illustrating controlling recording of TV programs using event notifications according to an embodiment of the present invention. At block 50, the broadcaster or content creator defines events for a program to be or being broadcast. In one scenario, a broadcaster or content creator may define a set of events for every prerecorded program in a broadcast schedule. For example, if a cable TV or satellite TV company operates a broadcast network having multiple channels, the cable TV or satellite company may define the events for all programs broadcast on all channels or any subsets thereof. The broadcaster may also define events in real-time for live shows (e.g., sports events, major news events, and so on).

An event, in general, may be anything happening or about to happen in a program. In one embodiment, the description of an event may be prescribed or standardized throughout the broadcast industry. For example, extended markup language (XML) or another suitable descriptive language may be used to define a schema of event descriptions that may be used by all broadcasters and content creators.

In one simple illustrative, non-limiting example, an event description definition may be:

<program> Program_Name </program> <fragment> Event_Name </fragment> <event_type> Event_Type_Name </event_type> <channel> Channel_Name </channel>

whereas, a corresponding specific event description may be:

<program> College Football Weekly Game </program> <fragment> Scoring_Play_Touchdown </fragment> <event_type> Sports_Hightlights </event_type> <channel> Channel_148 </channel>

In a more detailed example, in one embodiment of the present invention, a schema for defining events representing program segments may be:

<program name=“”channel=“”network=“”>  <fragments> <fragments> <event_name></event_name> <event_type></event_type> <event_description></event_description> </fragment> . . . . . .  </fragments> </program> <AttributeType name=“name” dt:type=“string”/> <AttributeType name=“channel” dt:type=“string”/> <AttributeType name=“network” dt:type=“string”/> <ElementType name=“event_name” content=“textOnly” dt:type=“string”/> <ElementType name=“event_type” content=“textOnly” dt:type=“string”/> <ElementType name=“event_description” content=“textOnly” dt:type=“string”/> <ElementType name=“fragment” content=“eltOnly” order=“many”>   <element type =“event_name” minOccurs=“1” maxOccurs=“1”/>  <element type =“event_type” minOccurs=“1” maxOccurs=“1”/>  <element type =“event_description” minOccurs=“0” maxOccurs=“1”/> </ElementType> <ElementType name=“fragments” content=“eltOnly” order=“many”>  <element type =“fragment” minOccurs=“0” maxOccurs=“*”/> </ElementType> <ElementType name=“program” content=“eltOnly” order=“many”>  <attribute type=“name” required=“yes”/>  <attribute type=“channel” required=“yes”/>  <attribute type=“network” required=“yes”/>  <element type =“fragments” minOccurs=“0” maxOccurs=“1”/> </ElementType>

Here are two examples of using this definition of an event representing a program segment:

<program name=“News Channel 8” channel=“8” network=“NBC”>  <fragments> <fragment> <event_name>Local Weather</event_name> <event_type>News_Weather_Report</event_type> <event_description> Weather with Michael Smith</event_description> </fragment> <fragment> <event_name>Sports Channel 8</event_name> <event_type>News_Weather_Report</event_type> <event_description>Sports with John Smith</event_description> </fragment>   </fragment> </program> <program name=“Monday Night Football” channel=“2” network=“ABC”>  <fragments> <fragment> <event_name>Scoring Play Touchdown</event_name> <event_type>Sports_Football_Touchdown</event_type> <event_description> Scoring Touchdown Fragment</event_description> </fragment> <fragment> <event_name>Scoring Play Field Goal</event_name> <event_type>Football_Field_Goal</event_type> <event_description> Scoring Field Goal Fragment</event_description> </fragment>  </fragment> </program>

An example of a schema for defining an event notification follows:

<event_notification name=“” channel=“ ” network=“” action=“”>  <event_id></event_id>  <event_name></event_name>  <event_description></event_description> <event_notification> <AttributeType name=“name” dt:type=“string”/> <AttributeType name=“channel” dt:type=“string”/> <AttributeType name=“action” dt:type=“string”/> <ElementType name=“event_id” content=“textOnly” dt:type=“string”/> <ElementType name=“event_name” content=“textOnly” dt:type=“string”/> <ElementType name=“event_type” content=“textOnly” dt:type=“string”/> <ElementType name=“event_description” content=“textOnly” dt:type=“string”/> <ElementType name=“event_notification” content=“eltOnly” order=“many”/>  <attribute type=“name” required=“yes”/>  <attribute type=“channel” required=“yes”/>  <attribute type=“action” required=“yes”/>  <element type=“event_id” minOccurs=“1” maxOccurs=“1”/>  <element type=“event_name” minOccurs=“1” maxOccurs=“1”/>  <element type=“event_type” minOccurs=“1” maxOccurs=“1”/>  <element type=“event_description” minOccurs=“0” maxOccurs=“1”/> </ElementType>

Here are two examples of using this definition of an event notification:

<event_notification name=“News Channel 8” channel=“8” action=“start”>  <event_id>ecabafb9-7f19-11d2-978e-0000f8757e2a</event_id>  <event_name>Local Weather Report</event_name>  <event_type>News_Weather_Report</event_type>  <event_description> Weather with Michael Smith: Tornado Alert to Monday July 9, 2001  </event_description> </event_notification> <event_notification name=“ABC Monday Night Football” channel=“2” action=“stop”>  <event_id>fcabafb9-7f19-11d2-978e-0000f8757e2a</event_id>  <event_name>Scoring Play Touchdown</event_name>  <event_type>Sports_Football_Touchdown</event_type>  <event_description> Jack Smith of Miami Scores a Touchdown. New York 10: Miami 13  </event_description> </event_notification>

Once the events and corresponding event notifications are defined by the broadcaster or content creator, in one embodiment the event definitions may be communicated to the set top box, either via the broadcast network or via a back channel such as the Internet or telephone line. The set top box receives the event definitions and presents them to the viewer for selection. Alternatively, the event definitions may be presented to the viewer in some other form, such as a printed publication distributed through the mail or by other means, or an electronic program guide. At block 52 of FIG. 2, the viewer uses a user interface operated by the set top box to select events of interest to be recorded for one or more programs. At block 54, prior to or contemporaneous with broadcasting of programs, the broadcaster or content creator generates event notifications for events occurring in the programs being broadcast. This may be done for all programs on all channels or any subset thereof. In one embodiment, the event notifications comprise ATVEF triggers. At block 56, the broadcaster creates the enhanced TV stream by combining the TV content with the generated event notifications (e.g., ATVEF triggers). At any given point in time, there may be zero or more event notifications for a portion of the enhanced TV stream.

At block 58, the broadcaster broadcasts the enhanced TV stream, including the TV content (for one or more programs) and zero or more event notifications. Depending on the transport mechanism used, the event notifications may be transmitted over the Internet, on a selected specialized channel for event notifications, or embedded within the same channel as a program. Similar to a TV program, event notifications may be recorded and/or replayed or rebroadcast. At block 60, the set top box receives the TV content over the broadcast network, and the event notifications over either the broadcast network or the Internet (via a computer system, the set top box itself, or another device). Once the set top box receives the event notifications, the set top box compares the received event notifications with the set of events of interest to be recorded previously selected by the viewer. If any event is occurring or about to occur according to the received event notifications that matches or corresponds to a viewer selected event, the set top box causes the recorder to start recording the event at block 62. At block 64, if any event is finished occurring according to a received event notification, the set top box causes the recorder to stop recording the event.

Thus, in one embodiment the present invention uses ATVEF triggers to allow a recorder to record program segments based on occurrence of an event, not merely based on broadcast time. The resulting recorded content includes only those program segments of interest to the viewer as selected by the viewer via the user interface. In one embodiment wherein the program segments include the event notifications (which are uniquely identified), once the program segments are recorded, the recorded segments may be easily sorted and searched based on the event notifications embedded in the TV programs.

The techniques described herein are not limited to any particular hardware or software configuration; they may find applicability in any computing or processing environment. The techniques may be implemented in hardware, software, or a combination of the two. The techniques may be implemented in programs executing on programmable machines such as set top boxes, digital televisions, mobile or stationary computers, personal digital assistants, and similar devices that each include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code is applied to the data entered using the input device to perform the functions described and to generate output information. The output information may be applied to one or more output devices.

Each program may be implemented in a high level procedural or object oriented programming language to communicate with a processing system. However, programs may be implemented in assembly or machine language, if desired. In any case, the language may be compiled or interpreted.

Each such program may be stored on a storage medium or device, e.g., compact read only memory (CD-ROM), digital versatile disk (DVD), hard disk, magnetic disk, or similar medium or device, that is readable by a general or special purpose programmable machine for configuring and operating the machine when the storage medium or device is read by the computer to perform the procedures described herein. The system may also be considered to be implemented as a machine-readable storage medium, configured with a program, where the storage medium so configured causes a machine to operate in a specific manner. Other embodiments are within the scope of the following claims.

While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications of the illustrative embodiments, as well as other embodiments of the invention, which are apparent to persons skilled in the art to which the inventions pertains are deemed to lie within the spirit and scope of the invention. 

What is claimed is:
 1. A method of receiving and recording selected program segments of enhanced TV programs based on events occurring in the enhanced TV programs comprising: receiving definitions of events, the events defining selected broadcast content of interest to a viewer occurring in discrete segments of the enhanced TV programs; providing the event definitions to a viewer for selection of events of interest to be recorded; receiving registrations for selected events of interest from the viewer for future recording of program segments corresponding to the selected events whenever the enhanced TV programs are broadcast; receiving an enhanced television stream, the enhanced television stream comprising enhanced TV programs having a plurality of program segments and event notifications corresponding to events occurring in those segments; and comparing the received event notifications to the registered events and recording only the selected program segments of the enhanced TV programs being broadcast corresponding to registered events matching received event notifications.
 2. The method of claim 1, wherein the enhanced television stream comprises a digital television stream and the events occur in enhanced TV programs broadcast on a plurality of channels.
 3. The method of claim 1, wherein the enhanced television stream comprises a digital television stream and ATVEF triggers represent the event notifications, the ATVEF triggers being communicated over the Internet.
 4. The method of claim 1, wherein providing event definitions comprises broadcasting the event definitions on a selected TV channel dedicated to communicating event definitions to the viewer.
 5. The method of claim 1, wherein providing event definitions comprises identifying event definitions in an electronic program guide (EPG).
 6. The method of claim 1, wherein events comprise occurrence of presentation of at least one of a national news report, a local news report, a national weather report, a local weather report, a sporting event score, a sporting event highlight, daily stock market information, and a scoring play in a sporting event.
 7. The method of claim 1, wherein each event comprises a unique global identifier.
 8. The method of claim 1, wherein the enhanced TV program represents a live broadcast and event notifications are generated in real-time.
 9. The method of claim 8, wherein sending event definitions comprises broadcasting the event definitions on a selected TV channel dedicated to communicating event definitions to the viewer.
 10. The method of claim 8, wherein sending event definitions comprises identifying event definitions in an electronic program guide (EPG).
 11. An article comprising: a storage medium having a plurality of machine readable instructions, wherein when the instructions are executed by a processor, the instructions provide for receiving and recording selected program segments of enhanced TV programs based on events occurring in the enhanced TV programs, the instructions including receiving definitions of events, the events defining selected broadcast content of interest to a viewer occurring in discrete segments of the enhanced TV programs, providing the event definitions to a viewer for selection of events of interest to be recorded, receiving registrations for selected events of interest from the viewer for future recording of program segments corresponding to the selected events whenever the enhanced TV programs are broadcast, receiving an enhanced television stream, the enhanced television stream comprising enhanced TV programs having a plurality of program segments and event notifications corresponding to events occurring in those segments, and comparing the received event notifications to the registered events and recording only the selected program segments of the enhanced TV programs being broadcast corresponding to registered events matching received event notifications.
 12. The article of claim 11, wherein the enhanced television stream comprises a digital television stream and the events occur in programs broadcast on a plurality of channels.
 13. The article of claim 11, wherein the enhanced television stream comprises a digital television stream and ATVEF triggers represent the event notifications, the ATVEF triggers being communicated over the Internet.
 14. A method of broadcasting an enhanced TV program for selective recording of program segments based on events occurring in the enhanced TV program comprising: defining events in the enhanced TV program, the events defining selected broadcast content of interest to a viewer occurring in discrete segments of the enhanced TV program, and being capable of being registered for future selective recording of those program segments at the direction of the viewer when the enhanced TV program is broadcast; sending event definitions to a receiving device for registration by the viewer; creating event notifications for the events occurring in the enhanced TV program; creating an enhanced television stream comprising the enhanced TV program and the created event notifications; and broadcasting the enhanced television stream.
 15. The method of claim 8, wherein broadcasting the enhanced television stream comprises communicating the event notifications over the Internet.
 16. The method of claim 8, wherein broadcasting the enhanced television stream comprises communicating the event notifications over a selected television channel other than a channel on which the enhanced TV program is being broadcast.
 17. The method of claim 8, wherein the event notifications comprise ATVEF triggers.
 18. The method of claim 17, wherein event notifications are created in real-time. 